[INFO] fetching crate crayon 0.7.1...
[INFO] fixing crayon-0.7.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate crayon 0.7.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate crayon 0.7.1
[INFO] finished tweaking crates.io crate crayon 0.7.1
[INFO] tweaked toml for crates.io crate crayon 0.7.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate crayon 0.7.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 134 packages to latest compatible versions
[INFO] [stderr]       Adding bincode v1.3.3 (available: v3.0.0)
[INFO] [stderr]       Adding cgmath v0.16.1 (available: v0.18.0)
[INFO] [stderr]       Adding crossbeam-deque v0.5.2 (available: v0.8.6)
[INFO] [stderr]       Adding env_logger v0.6.2 (available: v0.11.10)
[INFO] [stderr]       Adding gl v0.10.0 (available: v0.14.0)
[INFO] [stderr]       Adding glutin v0.18.0 (available: v0.32.3)
[INFO] [stderr]       Adding rand v0.5.6 (available: v0.10.1)
[INFO] [stderr]       Adding smallvec v0.6.14 (available: v1.15.2)
[INFO] [stderr]       Adding uuid v0.7.4 (available: v1.23.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89
[INFO] running `Command { std: "docker" "start" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   log v0.4.33 removed features: std
[INFO] [stderr]   log v0.4.33 (as host dependency) removed features: std
[INFO] [stderr]   syn v2.0.118 (as host dependency) removed features: default, extra-traits, full, visit, visit-mut
[INFO] [stderr] 
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling nix v0.11.1
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking wayland-sys v0.20.12
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking wayland-commons v0.20.12
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]     Checking memmap v0.6.2
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking object v0.37.3
[INFO] [stderr]    Compiling wayland-scanner v0.20.12
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling wayland-client v0.20.12
[INFO] [stderr]    Compiling wayland-protocols v0.20.12
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling glutin v0.18.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]     Checking crossbeam-deque v0.5.2
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.3.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking winit v0.17.2
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking crayon v0.7.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr] error: errors present after applying fixes to crate `crayon`
[INFO] [stderr]  --> src/sched/scheduler.rs
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/ins.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<Inspectable>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<dyn Inspectable>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/sched/system.rs
[INFO] [stderr]   = cause: error: incorrect parentheses around trait bounds
[INFO] [stderr]              --> src/sched/system.rs:14:40
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub type PanicHandler = dyn Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]               |                                        ^                      ^
[INFO] [stderr]               |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]               |
[INFO] [stderr]            14 - pub type PanicHandler = dyn Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]            14 + pub type PanicHandler = dyn Fn(Box<(dyn ::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: incorrect parentheses around trait bounds
[INFO] [stderr]               --> src/sched/scheduler.rs:150:45
[INFO] [stderr]                |
[INFO] [stderr]            150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stderr]                |                                             ^                      ^
[INFO] [stderr]                |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]                |
[INFO] [stderr]            150 -     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stderr]            150 +     pub fn handle_panic(&self, err: Box<(dyn ::std::any::Any + Send)>) {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 2 previous errors
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/lifecycle.rs:30:48
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/lifecycle.rs:31:69
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/res/vfs/mod.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<VFS>>,
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<dyn VFS>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<dyn FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<Any + Send + 'static>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<dyn Any + Send + 'static>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/job.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<Any + Send>),
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<dyn Any + Send>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/system.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/system.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stdout]    |                                +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/res/vfs/mod.rs:36:68
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<dyn VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/video/backends/mod.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<Visitor>> {
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<dyn Visitor>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/video/backends/mod.rs:119:30
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/unwind.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<Any + Send>) -> ! {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<dyn Any + Send>) -> ! {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/window/backends/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/window/backends/glutin/mod.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<Visitor>> {
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<dyn Visitor>> {
[INFO] [stdout]   |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/video/backends/frame.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut Visitor,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut dyn Visitor,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/sched/scheduler.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stdout]     |                                         +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<dyn Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `crayon`
[INFO] [stderr]  --> src/sched/scheduler.rs
[INFO] [stderr]  ::: src/sched/system.rs
[INFO] [stderr]   = cause: error: incorrect parentheses around trait bounds
[INFO] [stderr]              --> src/sched/system.rs:14:40
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub type PanicHandler = dyn Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]               |                                        ^                      ^
[INFO] [stderr]               |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]               |
[INFO] [stderr]            14 - pub type PanicHandler = dyn Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]            14 + pub type PanicHandler = dyn Fn(Box<(dyn ::std::any::Any + Send)>) + Send + Sync;
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: incorrect parentheses around trait bounds
[INFO] [stderr]               --> src/sched/scheduler.rs:150:45
[INFO] [stderr]                |
[INFO] [stderr]            150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stderr]                |                                             ^                      ^
[INFO] [stderr]                |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]                |
[INFO] [stderr]            150 -     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stderr]            150 +     pub fn handle_panic(&self, err: Box<(dyn ::std::any::Any + Send)>) {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 2 previous errors
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/ins.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<Inspectable>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<dyn Inspectable>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/lifecycle.rs:30:48
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/application/lifecycle.rs:31:69
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/res/vfs/mod.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<VFS>>,
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<dyn VFS>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<dyn FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<Any + Send + 'static>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<dyn Any + Send + 'static>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/job.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<Any + Send>),
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<dyn Any + Send>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/system.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/system.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<dyn (::std::any::Any + Send)>) + Send + Sync;
[INFO] [stdout]    |                                +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/res/vfs/mod.rs:36:68
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<dyn VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/video/backends/mod.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<Visitor>> {
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<dyn Visitor>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/video/backends/mod.rs:119:30
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/unwind.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<Any + Send>) -> ! {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<dyn Any + Send>) -> ! {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/window/backends/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/window/backends/glutin/mod.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<Visitor>> {
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<dyn Visitor>> {
[INFO] [stdout]   |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/video/backends/frame.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut Visitor,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut dyn Visitor,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/sched/scheduler.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stdout]     |                                         +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sched/scope.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<dyn Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/url.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/texture.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/res.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/render_texture.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/handle_pool.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/shortcut.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/object_pool.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.83s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.18.0, winit v0.17.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: crayon v0.7.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling glutin v0.18.0
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking cgmath v0.16.1
[INFO] [stderr]     Checking parking_lot_core v0.3.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking winit v0.17.2
[INFO] [stderr]     Checking crayon v0.7.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/utils/object_pool.rs:80:41
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 let mut v = ::std::mem::uninitialized();
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/utils/object_pool.rs:103:55
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 std::mem::swap(&mut v, &mut std::mem::uninitialized());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:296:32
[INFO] [stdout]     |
[INFO] [stdout] 296 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/sched/scheduler.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/sched/scheduler.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |             static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 353 -             static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 353 +             static COUNTER: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/ins.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<Inspectable>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<dyn Inspectable>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/lifecycle.rs:30:48
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/lifecycle.rs:31:69
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/res/vfs/mod.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<VFS>>,
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<dyn VFS>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<dyn FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<Any + Send + 'static>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<dyn Any + Send + 'static>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/job.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<Any + Send>),
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<dyn Any + Send>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/system.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/res/vfs/mod.rs:36:68
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<dyn VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/utils/object_pool.rs:80:41
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 let mut v = ::std::mem::uninitialized();
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/utils/object_pool.rs:103:55
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 std::mem::swap(&mut v, &mut std::mem::uninitialized());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/video/backends/mod.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<Visitor>> {
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<dyn Visitor>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/video/backends/mod.rs:119:30
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:296:32
[INFO] [stdout]     |
[INFO] [stdout] 296 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/video/backends/gl/capabilities.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let mut val = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/sched/scheduler.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/sched/scheduler.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |             static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 353 -             static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 353 +             static COUNTER: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/ins.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<Inspectable>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ins: HashMap<String, Arc<dyn Inspectable>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/lifecycle.rs:30:48
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 30 |     last_frame_lifecycles: Mutex<Vec<Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/application/lifecycle.rs:31:69
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 31 |     lifecycles: Mutex<ObjectPool<LifecycleListenerHandle, Arc<Mutex<dyn LifecycleListener>>>>,
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/res/vfs/mod.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<VFS>>,
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 20 |     schemas: FastHashMap<String, Arc<dyn VFS>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 16 |     marker: PhantomData<Box<dyn FnOnce(&Scope<'s>) + Send + Sync + 's>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<Any + Send + 'static>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 |     panic: AtomicPtr<Box<dyn Any + Send + 'static>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/job.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<Any + Send>),
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Panic(Box<dyn Any + Send>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/system.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/unwind.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<Any + Send>) -> ! {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<dyn Any + Send>) -> ! {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/window/backends/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]  --> src/window/backends/glutin/mod.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<Visitor>> {
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<dyn Visitor>> {
[INFO] [stdout]   |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/res/vfs/mod.rs:36:68
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn locate<T1: AsRef<str>>(&self, schema: T1) -> Result<Arc<dyn VFS>, failure::Error> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/video/backends/frame.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut Visitor,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use a new generic type parameter, constrained by `Visitor`
[INFO] [stdout]    |
[INFO] [stdout] 62 ~     pub fn dispatch<T: Visitor>(
[INFO] [stdout] 63 |         &mut self,
[INFO] [stdout] 64 ~         visitor: &mut T,
[INFO] [stdout]    |
[INFO] [stdout] help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut impl Visitor,
[INFO] [stdout]    |                       ++++
[INFO] [stdout] help: alternatively, use a trait object to accept any type that implements `Visitor`, accessing its methods at runtime using dynamic dispatch
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut dyn Visitor,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/video/backends/mod.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<Visitor>> {
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn new() -> Result<Box<dyn Visitor>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/video/backends/mod.rs:119:30
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/sched/scheduler.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stdout]     |                                         +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/unwind.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<Any + Send>) -> ! {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box<dyn Any + Send>) -> ! {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/window/backends/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<Visitor> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn new_headless() -> Box<dyn Visitor> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]  --> src/window/backends/glutin/mod.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<Visitor>> {
[INFO] [stdout]   |                                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result<Box<dyn Visitor>> {
[INFO] [stdout]   |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/video/backends/frame.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut Visitor,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use a new generic type parameter, constrained by `Visitor`
[INFO] [stdout]    |
[INFO] [stdout] 62 ~     pub fn dispatch<T: Visitor>(
[INFO] [stdout] 63 |         &mut self,
[INFO] [stdout] 64 ~         visitor: &mut T,
[INFO] [stdout]    |
[INFO] [stdout] help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut impl Visitor,
[INFO] [stdout]    |                       ++++
[INFO] [stdout] help: alternatively, use a trait object to accept any type that implements `Visitor`, accessing its methods at runtime using dynamic dispatch
[INFO] [stdout]    |
[INFO] [stdout] 64 |         visitor: &mut dyn Visitor,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/sched/scheduler.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn handle_panic(&self, err: Box<dyn (::std::any::Any + Send)>) {
[INFO] [stdout]     |                                         +++++                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<dyn Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/sched/scope.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let value: Box<Box<dyn Any + Send + 'static>> = mem::transmute(panic);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crayon` (lib test) due to 17 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `crayon` (lib) due to 17 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89", kill_on_drop: false }`
[INFO] [stdout] 6e6d3fe010e24ef235d3af32ec3e4c5a23d6bb5ec9bf88cabedcd729146efe89
